改善点 | ScrapboxでVim key bindingsを作ろうと試行錯誤してる話
技術周りでは、まず既存の構文解析の手法を学ぶが挙げられます。key bindingsが一定の文法に従っているのなら、既存の構文解析手法を適用するのが手っ取り早いです。何も自分で車輪の再発明をする必要なんてなかったんだ……
それから他のvim emulatorのsource codeを見て実装を学ぶことも改善点です。今更になってVSCodeVim/Vimを見れば良いことに気づいたりしました。diwなどtext objectなども考慮した構文解析を行っているようなので参考になりそうです。 開発手法に関しては、programが大規模になっても、簡単に小さくテストできるような仕組みが必要だと感じました。
ScrapVim-lite-2など以前のprototypingでは、全てのコードが完成するまでテストはおろかバグ取りすら出来ませんでした。これでは完成するまで致命的なミスに気づけず、かなりの時間を無駄にすることになります。ScrapVim-lite-3では機能ごとになるべく独立させて作っているので、後はテストを簡単にできる環境を作る必要がありそうです linterないとつらい
開発の効率化
流石にlinterと変数名の一括変更がないとつらい
scrapboxを操作するAPI周りを整理できたのは良かった